package org.zhadoop.streaming.expression;

import java.io.Serializable;

import org.zhadoop.streaming.event.IEvent;

/**
 * 表达式求值接口，对事情进行求值，返回结果
 * @author zwd
 *
 */
public interface IExpression extends Serializable{
	
	/**
	 * 单流事件表达式求值
	 * @param theEvent
	 * @return
	 */
	Object evaluate(IEvent theEvent);
	
	/**
	 * 多流事件表达式求值
	 * @param theEvent
	 * @return
	 */
	Object evaluate(IEvent[] theEvent);
	
	/**
	 * 返回表达式返回类型
	 * 功能详细描述
	 * @return
	 */
	Class<?> getType();
}
